<?php if ( ! defined('WDK_PATH')) exit('No direct script access allowed');
require_once BASE_PATH.'admin/controller.php';
class Menu extends Controller
{
	function __construct()
	{
		parent::__construct();
	}
	
	protected function _init() 
	{
		parent::_loginCheck();		
	}
	
	public function index($url='')
	{
		$this->_index();
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$assign_data = array('url'=>$url);
		/****************************************************************************************************************************/
		try
		{
			$lm = Wdk::get('MenuManager');
			$lm->loadAll();
			$assign_data['menus'] = $lm['lists'];
		}
		catch(NoRecordException $e)
		{
			$assign_data['menu'] = array();			
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_view($assign_data);
		/****************************************************************************************************************************/
	}
	
	private function _index()
	{
		if(parent::_isPost() == false) return false;
		/*****************************************************************************************************************************
		 * BASIC VARS
		*****************************************************************************************************************************/
		$menu_seq		= (array) post('menu_seq', array());
		$menu_code		= (array) post('menu_code', array());
		$menu_name		= (array) post('menu_name', array());
		$menu_level		= (array) post('menu_level', array());
		$menu_url		= (array) post('menu_url', array());
		$menu_target	= (array) post('menu_target', array());
		$assign_data = array();
		/****************************************************************************************************************************/
		try
		{
			foreach($menu_seq as $idx=>$seq)
			{
				$menu = Wdk::get('Menu');
				if($seq > 0)
				{
					$menu->load($seq);
				}
				
				$menu['menu_code']		= (string) trim($menu_code[$idx]);
				$menu['menu_name']		= (string) trim($menu_name[$idx]);
				$menu['menu_level']		= (int) $menu_level[$idx];
				$menu['menu_url']		= (string) $menu_url[$idx];
				$menu['menu_target']	= (string) $menu_target[$idx];
				if($menu['menu_code'] == '' && $menu['menu_name'] == '' ) continue;
				try
				{
					$menu->autoUpdate();				
				}
				catch(WException $e){}	
			}
		}
		catch(WException $e)
		{
			parent::_error($e);
		}
		/*****************************************************************************************************************************
		* RESULT
		*****************************************************************************************************************************/
		parent::_redirect('/admin/menu');
		/****************************************************************************************************************************/
	}
}